package com.lanou3g.code0522.listener;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
/*
Listener 是JAVAWeb提供的三大主键之一
它是用来在特定时间来提供回调的
我们可以通过创建不同种类的listener ,来实现,
在不同情况下调用我们自己写的代码
listener与 servlet一样需要注册
注册方式1.在web.xml中通过listener标签来注册即可

ServletContextListener
会先于任何的 servlet/Filter 执行

javaweb提供Listener
按照 被监听的对象分类
1.ServletContext
    1.1 ServletContextListener
    1.2 ServletContextAttributeListener
2.HttpSession
    2.1 HttpSessionListener
    2.2 HttpSessionAttributeListener

    // 感知监听器 (不需要注册 ,实现借口 即可使用)
    2.3 HttpSessionBindingListener
    2.4 HttpSessionActivationListener
3.ServletRequest
    3.1 ServletRequestListener
    3.2 ServletRequestAttributeListener
*/
public class FirstListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent servletContextEvent) {
        System.out.println("contextInitialized");
        ServletContext app=servletContextEvent.getServletContext();
        app.setAttribute("listener","listener");
    }

    @Override
    public void contextDestroyed(ServletContextEvent servletContextEvent) {
        System.out.println("contextDestroyed");
    }
}
